package com.esunny.resourcevisualization.service;

import com.esunny.resourcevisualization.domain.entity.Apply;
import com.esunny.resourcevisualization.domain.request.ApplyInfoDto;
import com.esunny.resourcevisualization.domain.response.ReturnStructure;

import java.util.List;

/**
 * @version 1.0.0.0
 * @InterfaceName ResourceCacheInfoService
 * @Description 资源缓存信息处理逻辑接口
 * @Author baochencong
 * @Date 2020/11/26 8:11
 */
public interface ApplyService {

    /**
     * 添加申请信息
     *
     * @param applyInfoDto 申请信息dto
     */
    ReturnStructure addApplyInfo(ApplyInfoDto applyInfoDto);

    /**
     * 修改申请信息
     *
     * @param applyInfoDto 申请信息dto
     */
    ReturnStructure updateApplyInfo(ApplyInfoDto applyInfoDto);

    /**
     * 删除申请信息
     *
     * @param applyId 申请信息id
     */
    ReturnStructure remarkDeleteApplyInfoById(int applyId);

    /**
     * 痛过申请人获取申请列表信息
     *
     * @param applyBy 申请人
     * @return 申请列表信息
     */
    List<Apply> getApplyListInfoByApplyBy(String applyBy);

    /**
     * 痛过审批人获取申请列表信息
     *
     * @return 申请列表信息
     */
    List<Apply> getApplyListInfoByAuditor();

    /**
     * 获取所有申请信息列表
     *
     * @return 申请信息列表
     */
    List<Apply> getApplyInfoList();

    /**
     * 通过申请id获取申请信息
     *
     * @param applyId 申请id
     * @return 申请信息
     */
    Apply getApplyInfoById(int applyId);

}
